import sbt._

object Dependencies {

  val Slf4jApi =  "org.slf4j" % "slf4j-api" % "1.7.5" intransitive ()
  val LogbackClassic = "ch.qos.logback" % "logback-classic" % "1.1.1"

  val SparkCore = 
      ("org.apache.spark" %% "spark-core" % "0.9.0-incubating").
            exclude("org.mortbay.jetty", "servlet-api").
            exclude("commons-beanutils", "commons-beanutils-core").
            exclude("commons-collections", "commons-collections").
            exclude("com.esotericsoftware.minlog", "minlog").
            exclude("org.eclipse.jetty.orbit", "javax.servlet").
            exclude("org.eclipse.jetty.orbit", "javax.transaction")
  val SparkStreaming = 
    ("org.apache.spark" %% "spark-streaming" % "0.9.0-incubating").
          exclude("org.mortbay.jetty", "servlet-api").
          exclude("commons-beanutils", "commons-beanutils-core").
          exclude("commons-collections", "commons-collections").
          exclude("com.esotericsoftware.minlog", "minlog")
  val SparkKafkaStreaming = 
    "org.apache.spark" %% "spark-streaming-kafka" % "0.9.0-incubating"

  val KafkaExclusions = Seq(
    ExclusionRule("org.slf4j", "slf4j-simple"),
    ExclusionRule("com.sun.jdmk", "jmxtools"),
    ExclusionRule("com.sun.jmx", "jmxri"),
    ExclusionRule("net.sf.jopt-simple", "jopt-simple"),
    ExclusionRule(organization = "org.jboss.netty")
  )
  val Kafka = "org.apache.kafka" %% "kafka" % "0.8.0" excludeAll(KafkaExclusions: _*)

}